﻿//Position.cs
//Copyright (c) 2013 StockSharp LLC, all rights reserved.
//This code module is part of StockSharp library.
//This code is licensed under the GNU GENERAL PUBLIC LICENSE Version 3.
//See the file License.txt for the license details.
//More info on: http://stocksharp.com

namespace StockSharp.BusinessEntities
{
	using System;
	using System.ComponentModel;

	using Ecng.Common;
	using Ecng.Serialization;

	/// <summary>
	/// Позиция по инструменту.
	/// </summary>
	[Serializable]
	[System.Runtime.Serialization.DataContract]
	[DisplayName("Портфель")]
	[Description("Портфель, описывающий торговый счет и размер сгенерированной комиссии по нему.")]
	public class Position : BasePosition
	{
		/// <summary>
		/// Создать <see cref="Position"/>.
		/// </summary>
		public Position()
		{
		}

		/// <summary>
		/// Портфель, в котором создана позиция.
		/// </summary>
		[RelationSingle(IdentityType = typeof(string))]
		[Browsable(false)]
		public Portfolio Portfolio { get; set; }

		/// <summary>
		/// Инструмент, по которому создана позиция.
		/// </summary>
		[RelationSingle(IdentityType = typeof(string))]
		[Browsable(false)]
		public Security Security { get; set; }

		/// <summary>
		/// Название депозитария, где находится физически ценная бумага.
		/// </summary>
		[DisplayName("Название депозитария")]
		[Description("Название депозитария, где физически находится ценная бумага.")]
		[Category("Основные")]
		public string DepoName { get; set; }

		/// <summary>
		/// Получить строковое представление.
		/// </summary>
		/// <returns>Строковое представление.</returns>
		public override string ToString()
		{
			return "{0}-{1}".Put(Portfolio, Security);
		}
	}
}
